import java.util.*;

public class javase04 {
//    1. 根据年龄, 来打印出当前年龄的人是少年(低于18), 青年(19-28), 中年(29-55), 老年(56以上)
    public static void main1(String[] args) {
        while(true) {
            Scanner sc = new Scanner(System.in);
            int a = sc.nextInt();
            if(a < 18) {
                System.out.println("少年");
            }else if(a>= 19 && a <= 28) {
                System.out.println("青年");
            }else if(a>=29 && a<= 55) {
                System.out.println("中年");
            }else {
                System.out.println("老年");
            }
        }
    }
// 2. 判定一个数字是否是素数
public static  boolean  is_prime( int a) {
    for (int i = 2; i < Math.sqrt(a); i++) {
        if(a % i == 0) {
            return false;
        }
    }
    return true;
}
public static void main12(String[] args) {
    while(true) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        System.out.println(is_prime(a));
    }
}
//3. 打印 1 - 100 之间所有的素数
public static void main12313(String[] args) {
    for (int i = 1; i < 101; i++) {
        if(is_prime(i) == true) {
            System.out.print(i + " ");
        }
    }
}
//4. 输出 1000 - 2000 之间所有的闰年
public static void main23542(String[] args) {
    for (int i = 1000; i < 2001; i++) {
        if(i % 4 == 0 && i%100 != 0 || i % 400 == 0) {
            System.out.print(i + " ");
        }
    }
}
//5. 输出乘法口诀表
public static void main34637(String[] args) {
    for (int i = 1; i < 10; i++) {
        for (int j = 1; j <= i; j++) {
            System.out.print(j + "*" + i + "=" + j*i);
            System.out.print(" ");
        }
        System.out.println();
    }
}
//6. 求两个正整数的最大公约数
public static  int func2(int a ,int b) {
        int k = a% b;
        while(k != 0) {
            a = b;
            b = k;
            k = a%b;
        }
        return b;
}
public static void main234267(String[] args) {
    while(true) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc .nextInt();
        System.out.println(func2(a, b));
    }
}
//7. 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值。
public static void main12345678(String[] args) {
    int k = 1;
    double sum = 0.0;
    for (double i = 1; i < 101; i++) {
        sum += 1.0*k/i;
        k*=-1;
    }
    System.out.println(sum);

}
// 8. 编写程序数一下 1到 100 的所有整数中出现多少个数字9。
public static void main543(String[] args) {
        int count = 0;
    for (int i = 1; i < 101; i++) {
        if(i % 10 == 9){
            count++;
        }
        if(i / 10 == 9) {
            count++;
        }
    }
    System.out.println(count);
}
//9. 求出0～999之间的所有“水仙花数”并输出。(“水仙花数”是指一个三位数，
// 其各位数字的立方和确好等于该数本
//身，如；153＝1＋5＋3?，则153是一个“水仙花数”。)
public static void main23456789(String[] args) {
    Scanner sc = new Scanner(System.in);
    int a = sc.nextInt();
    for (int i = 1; i < a; i++) {
        int count = 0;
        int sum = 0;
        int tmp = i;
        while(tmp > 0) {
            tmp /= 10;
            count++;
        }
        tmp = i;
        for (int j = 0; j < count ; j++) {
            sum += Math.pow(tmp%10,count);
            tmp /= 10;
        }
        if(i == sum) {
            System.out.print(i + " ");
        }
    }
}
// 10. 编写代码模拟三次密码输入的场景。 最多能输入三次密码，密码正确，提示“登录成功”,密码错误， 可以重新输
//    入，最多输入三次。三次均错，则提示退出程序
//11. 写一个函数返回参数二进制中 1 的个数 比如： 15 0000 1111 4 个 1
public static void main98765(String[] args) {

        while(true) {
            Scanner sc  = new Scanner(System.in);
            int n = sc.nextInt();
            int count = 0;
            while(n!=0) {
                n = n & (n - 1);
                count++;
            }
            System.out.println(count);
        }
}
//12. 获取一个数二进制序列中所有的偶数位和奇数位， 分别输出二进制序列。
// 13. 输出一个整数的每一位.
//14. 完成猜数字游戏
//求一个数字是不是 2 的k次方
    public static boolean func (int n) {
        return (n&(n-1)) == 0;
    }
}
